Enabled SO_REUSEADDR socket option of the ArtNetServer listener #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Setting this option allows two applications, or more, to bind to the same socket [1], thus to listen and react to the same DMX Input packets. It only works as long as all of the application also set the SO_REUSEADDR socket option.
I used it successfully to have MadMapper (a projection mapping application written in C, which obviously sets the SO_REUSEADDR socket option) and a Processing application (written in Processing/Java and using an Artnet4j-Elios library patched with this change [2]) reacting to the same DMX Input events, which were sent from a small lightning console via DMX and received as ArtNet datagrams via Enttec's OpenDMX Ethernet box on the computer running the apps.
See also:
[1] http://download.java.net/jdk7/archive/b123/docs/api/java/net/DatagramSocket.html#setReuseAddress(boolean)
[2] https://github.com/olange/artnetP5